package com.restaurant.application.padtest.bandconsumer.support;

import com.nebutown.base.data.ViewUpdate;
import com.nebutown.supporthome.AbstractImpl;
import com.nebutown.supporthome.CmdCapsule;
import com.restaurant.application.consumption.support.ConsumptionData;
import com.restaurant.application.minifacade.data.IdBO;
import com.restaurant.application.padtest.bandconsumer.BandConsumer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public abstract class AbstractBandConsumer extends AbstractImpl implements BandConsumer {

    private static final Logger logger = LoggerFactory.getLogger(BandConsumer.class);

    public final Class<?> getEffectiveInterface() {
        return BandConsumer.class;
    }

    public Logger getLogger() {
        return logger;

    }

    public static CmdCapsule CMD_SEARCH = new CmdCapsule("search", 0, IdBO.class);

    public abstract ViewUpdate search(IdBO search, int[] seq) throws Exception;

    public static CmdCapsule CMD_BANDCUSTOMERPAGE = new CmdCapsule("bandCustomerPage", 1, null);

    public abstract ViewUpdate bandCustomerPage(int[] seq) throws Exception;

    public static CmdCapsule CMD_BANDCUSTOMER = new CmdCapsule("bandCustomer", 2, IdBO.class);

    public abstract ViewUpdate bandCustomer(IdBO bandCustomer, int[] seq) throws Exception;

    public static CmdCapsule CMD_ENSUREPRICE = new CmdCapsule("ensurePrice", 3, ConsumptionData.class);

    public abstract ViewUpdate ensurePrice(ConsumptionData ensurePrice, int[] seq) throws Exception;
}
